Model Checking with Tabled Logic Programming∗
نویسنده
چکیده
This article presents a tutorial overview of using Tabled Logic Programming for model checking finite-state systems. In this article, we mainly focus on the work done by the LMC group in Stony Brook, pointing out the relevant related works along the way. We describe a complete model checkers for the computation tree logic (CTL), the modal mu-calculus, the linear temporal logic (LTL) and a value-passing version of modal mu-calculus with data variables. Each of these model checkers and equivalence checkers is derived more or less directly from the semantics of the logic. We encode the semantic equations or tableau rules as a logic program and use query evaluation to answer the model checking question. We indicate optimizations and transformations of the resulting logic program that help make the model checker efficient. The model checkers derived this way, when evaluated on the XSB tabled logic programming system have shown performance that is comparable to tools built using specialized algorithms and data structures in low-level languages. We also present a short exposition on bisimulation checking for finite-state systems, to complete our tour of finite-state system verification using logic programming. Many of the techniques described here have been adapted to the verification of infinite-state systems as well, and will be described in future articles in this newletter.
منابع مشابه
A New Formulation of Tabled Resolution with Delay Draft
Tabled logic programming has become important to logic programming in part because it opens new application areas, such as model checking, to logic programming techniques. However, the development of new extensions of tabled logic programming is becoming restricted by the formal methods that underly it. Formalisms for tabled evaluations, such as SLG 2], are generally developed with a view to a ...
متن کاملTCHR: a framework for tabled CLP
Tabled Constraint Logic Programming is a powerful execution mechanism for dealing with Constraint Logic Programming without worrying about fixpoint computation. Various applications, e.g in the fields of program analysis and model checking, have been proposed. Unfortunately, a high-level system for developing new applications is lacking, and programmers are forced to resort to complicated ad ho...
متن کاملTabulation-based Induction Proofs with Application to Automated Verification
XSB [14] is a tabled logic programming system designed to address shortcomings in Prolog’s SLD evaluation mechanism for Horn programs. SLD’s poor termination and complexity properties have rendered Prolog unsuitable for deductive database (DDB) and non-monotonic reasoning (NMR) applications. In contrast, XSB’s implementation achieves a computationally tight integration of the logic programming ...
متن کاملA Simple Scheme for Implementing Tabled Logic Programming Systems Based on Dynamic Reordering of Alternatives
Tabled logic programming (LP) systems have been applied to elegantly and quickly solving very complex problems (e.g., model checking). However, techniques currently employed for incorporating tabling in an existing LP system are quite complex and require considerable change to the LP system. We present a simple technique for incorporating tabling in existing LP systems based on dynamically reor...
متن کاملConstraint Logic Programming for Local and Symbolic Model-Checking
We propose a model checking scheme for a semantically complete fragment of CTL by combining techniques from constraint logic programming, a restricted form of constructive negation and tabled resolution. Our approach is symbolic in that it encodes and manipulates sets of states using constraints; it supports local model checking using goal-directed computation enhanced by tabulation. The framew...
متن کامل